# -*- coding:utf-8 -*-
#! python3

from facecat import *

#更新悬浮状态
#views:视图集合
def updateView(views):
	updateViewDefault(views)

#绘制视图
#view:视图
#paint:绘图对象
#clipRect:区域
def onPaint(view, paint, clipRect):
	onPaintDefault(view, paint, clipRect)
	if view.viewType == "pie":
		drawPie(view, paint, clipRect)

#绘制视图边线
#view:视图
#paint:绘图对象
#clipRect:区域
def onPaintBorder(view, paint, clipRect):
	onPaintBorderDefault(view, paint, clipRect)

#视图的鼠标移动方法
#view 视图
#mp 坐标
#buttons 按钮 0未按下 1左键 2右键
#clicks 点击次数
#delta 滚轮值
def onMouseMove(view, mp, buttons, clicks, delta):
	onMouseMoveDefault(view, mp, buttons, clicks, delta)
		
#视图的鼠标按下方法
#view 视图
#mp 坐标
#buttons 按钮 0未按下 1左键 2右键
#clicks 点击次数
#delta 滚轮值
def onMouseDown(view, mp, buttons, clicks, delta):
	onMouseDownDefault(view, mp, buttons, clicks, delta)

#视图的鼠标抬起方法
#view 视图
#mp 坐标
#buttons 按钮 0未按下 1左键 2右键
#clicks 点击次数
#delta 滚轮值
def onMouseUp(view, mp, buttons, clicks, delta):
	onMouseUpDefault(view, mp, buttons, clicks, delta)

#视图的鼠标点击方法
#view 视图
#firstTouch:是否第一次触摸 
#firstPoint:第一次触摸的坐标 
#secondTouch:是否第二次触摸 
#secondPoint:第二次触摸的坐标
#clicks 点击次数
def onClick(view, firstTouch, firstPoint, secondTouch, secondPoint, clicks):
	onClickDefault(view, firstTouch, firstPoint, secondTouch, secondPoint, clicks)

#视图的鼠标滚动方法
#view 视图
#mp 坐标
#buttons 按钮 0未按下 1左键 2右键
#clicks 点击次数
#delta 滚轮值
def onMouseWheel(view, mp, buttons, clicks, delta):
	onMouseWheelDefault(view, mp, buttons, clicks, delta)

appPaint = FCPaint() #创建绘图对象
appPaint.defaultUIStyle = "dark"
appPaint.useWebView = True
appPaint.onPaint = onPaint 
appPaint.onPaintBorder = onPaintBorder
appPaint.onMouseDown = onMouseDown 
appPaint.onMouseMove = onMouseMove 
appPaint.onMouseUp = onMouseUp
appPaint.onMouseWheel = onMouseWheel
appPaint.onClick = onClick
appPaint.onUpdateView = updateView

#消息循环
def WndProc(hwnd,msg,wParam,lParam):
	return WndProcDefault(appPaint,hwnd,msg,wParam,lParam)

#创建窗体
createMainWindow(appPaint, "facecat-py", WndProc)

#创建图层
div = FCView()
div.paint = appPaint
if div.paint.defaultUIStyle == "dark":
    div.backColor = "rgb(0,0,0)"
    div.borderColor = "rgb(100,100,100)"
    div.textColor = "rgb(255,255,255)"
elif div.paint.defaultUIStyle == "light":
    div.backColor = "rgb(255,255,255)"
    div.borderColor = "rgb(150,150,150)"
    div.textColor = "rgb(0,0,0)"

div.viewType = "div"
div.showHScrollBar = True
div.showVScrollBar = True
div.dock = "fill"
addView(div, appPaint)

pie = FCPie()
pie.size = FCSize(280,280)
pie.textColor = "rgb(255,255,255)"
addView(pie, div)

item1 = FCPieItem()
item1.text = "项目1"
item1.value = 100
item1.color = "rgb(255,0,0)"
pie.items.append(item1)

item2 = FCPieItem()
item2.text = "项目2"
item2.value = 80
item2.color = "rgb(0,255,0)"
pie.items.append(item2)

item3 = FCPieItem()
item3.text = "项目3"
item3.value = 50
item3.color = "rgb(255,255,0)"
pie.items.append(item3)

item4 = FCPieItem()
item4.text = "项目4"
item4.value = 30
item4.color = "rgb(255,0,255)"
pie.items.append(item4)

rect = win32gui.GetClientRect(appPaint.hWnd)
appPaint.size = FCSize(rect[2] - rect[0], rect[3] - rect[1])
updateView(appPaint.views)
showWindow(appPaint)

